home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / M2PROTOS.ZIP / QCDISP.DEF < prev    next >
Encoding:
Modula Definition  |  1993-10-06  |  4.7 KB  |  182 lines

  1. (*# call(o_a_copy => off) *)
  2. (*%F _fdata *)
  3. (*# call(seg_name => null) *)
  4. (*%E *)
  5. (*# module(implementation=>on) *)
  6. (*# data(seg_name => null) *)
  7. DEFINITION MODULE QCdisp;
  8.  
  9.                      (* This JPI Modula-2 module is part of *)
  10.  
  11.                       (* QC -- a communications program *)
  12.                              (* by Carl Neiburger *)
  13.                               (* 169 N. 25th St.*)
  14.                           (* San Jose, Calif. 95116 *)
  15.  
  16.                          (* CompuServe No. 72336,2257 *)
  17.  
  18. (* DataDisplay produces a screen looking like this:
  19.  
  20. 2 Date        Sending/Receiving (ASCII/Binary) Modem speed: 0000 bps       Time
  21. 3 D:\PATH\Filename
  22. 4 Protoco-CRC                 Data rate: 00000 Bytes         Time left: 000:00
  23. 5
  24. 6            Packets    Total Bytes    Data Bytes    Data Left    Errors
  25. 7 Sent
  26. 8 Received
  27.   0        1         2         3         4         5         6         7
  28.   1        0         0         0         0         0         0         0
  29. *)
  30. IMPORT NFIO;
  31. FROM UTIL IMPORT str4, str9, str10, str80;
  32. FROM CharMask IMPORT MaskProc;
  33.  
  34. TYPE
  35.  
  36.     DataField = ( Packets, TotalBytes, DataBytes, Errs, DataLeft );
  37.     ProtoType = (XModem, XModem1K, YModem, Telink, Kermit, BPlus, ZModem );
  38.     MaskType = ( SevenBit, EightBit, IbmXlate );
  39.     BaudNameArray = ARRAY[0..6] OF str4;
  40.     ProtoNameArray =ARRAY ProtoType OF str9;
  41.  
  42.     QCDefType = RECORD
  43.         baud        : [SHORTCARD(0)..SHORTCARD(6)];
  44.         LAPrinter   : BOOLEAN;
  45.         Protocol    : ProtoType;
  46.         Mask        : MaskType;
  47.         EditBS      : BOOLEAN;
  48.         DestBS      : BOOLEAN;
  49.         EditEscs    : BOOLEAN;
  50.         DecTerm     : BOOLEAN;
  51.         UseDel      : BOOLEAN;
  52.         DelayOn     : [0..2];
  53.         DLpath,
  54.         QCpath      : NFIO.PathStr;
  55.     END;
  56.  
  57.     QCDefTypePtr = POINTER TO QCDefType;
  58.  
  59.     DataRegisterType = ARRAY BOOLEAN, DataField OF LONGCARD;
  60.  
  61. CONST
  62. (*#save *)
  63. (*# data(const_assign => on) *)
  64. QCDef = QCDefType(
  65.     3,        (* baud *)
  66.     FALSE,    (* LAPrinter *)
  67.     XModem,   (* Protocol *)
  68.     SevenBit, (* Mask7 *)
  69.     TRUE,     (* EditBS *)
  70.     TRUE,     (* Destructive BS on *)
  71.     TRUE,     (* EditEscs *)
  72.     FALSE,    (* No DEC Term *)
  73.     FALSE,    (* Use BS, not DEL *)
  74.     0,        (* No delay *)
  75.     0C,       (* No DLpath *)
  76.     0C);      (* No QCpath *)
  77. (*#restore *)
  78.  
  79. baudnames = BaudNameArray (' 300', ' 600', '1200', '2400', '4800', 
  80.                            '9600', '19.2');
  81.  
  82. ProtoNames =
  83.      ProtoNameArray('XModem   ', 'XModem-1K', 'YModem   ', 'Telink   ',
  84.                     'Kermit   ', 'B Plus   ', 'ZModem   ' );
  85.  
  86.     AbortMsg = 'Aborting at your request.';
  87.     TimeoutMsg = 'Time out.';
  88.     TimeoutAbortMsg = 'Timed out. Aborting.';
  89.     CreateError = 'Error creating file.';
  90.     WriteErrorMsg = 'Write error. Aborting.';
  91.     CloseError = 'Error closing file.';
  92.     OpenError = 'Cannot open file.';
  93.     PressExit = ' Press Exit to quit. ';
  94.     PressAny  = 'Press any key.';
  95.  
  96. CONST
  97.     PhoneFileTail = 'Phones.QC';
  98.     MacroFileTail = 'MACROS.QC';
  99.  
  100. VAR
  101.     QCDefPtr : QCDefTypePtr;
  102.  
  103.     PhoneFileName,
  104.     MacroFileName : NFIO.PathStr;
  105.  
  106.     ConfMode,
  107.     sawDLE,
  108.     Printing    : BOOLEAN;
  109.  
  110.     MaskChar : MaskProc;
  111.  
  112.     DataRegisters : DataRegisterType;
  113.  
  114. (*#save *)
  115. (*#call(near_call=>on) *)
  116. PROCEDURE SetMask;
  117.  
  118. PROCEDURE GrafOff;
  119.  
  120. PROCEDURE CloseLog;
  121.  
  122. PROCEDURE ResetLogEscState;
  123.  
  124. PROCEDURE DoOpenLog( name : NFIO.PathStr ): SHORTCARD;
  125.  
  126. PROCEDURE OpenLog;
  127.  
  128. PROCEDURE TogglePrinting;
  129.  
  130. PROCEDURE WriteDisplay(ch: CHAR);
  131.  
  132. PROCEDURE ToggleDecTerm;
  133.  
  134. PROCEDURE EnableConfMode;
  135.  
  136. PROCEDURE DisableConfMode;
  137.  
  138. PROCEDURE ToggleConfMode;
  139.  
  140. PROCEDURE ShowCurrentDate;
  141.  
  142. PROCEDURE ShowCurrentTime;
  143.  
  144. PROCEDURE PromptForChar( prompt : ARRAY OF CHAR; VAR ch:CHAR );
  145. (*#restore *)
  146.  
  147. PROCEDURE FlushLog;
  148.  
  149. PROCEDURE PressKey( message: ARRAY OF CHAR );
  150.  
  151. PROCEDURE ShowTransferTime;
  152.  
  153. PROCEDURE ShowErrorType(ItsCRC: BOOLEAN);
  154.  
  155. PROCEDURE UpdateData;
  156.  
  157. PROCEDURE StartDisplay( UseProto: BOOLEAN; Proto : ProtoType;
  158.                       Receiving : BOOLEAN );
  159.  
  160. PROCEDURE ShowTransferType( FileType: ARRAY OF CHAR );
  161.  
  162. PROCEDURE ShowTimeLeft( Receiving: BOOLEAN);
  163.  
  164. PROCEDURE DisplayData( field: DataField; Receiving: BOOLEAN);
  165.  
  166. PROCEDURE IncrDataBytes( Num: CARDINAL; Receiving: BOOLEAN );
  167.  
  168. PROCEDURE ShowFileName( Name : ARRAY OF CHAR; Receiving: BOOLEAN );
  169.  
  170. PROCEDURE ShowPacketSize( i : CARDINAL );
  171.  
  172. PROCEDURE StatusMessage( Msg : ARRAY OF CHAR; WaitForKey : BOOLEAN );
  173.  
  174. PROCEDURE StopDisplay;
  175.  
  176. PROCEDURE Yes ( prompt : ARRAY OF CHAR ): BOOLEAN;
  177.  
  178. PROCEDURE PromptForString(
  179.     prompt : ARRAY OF CHAR; VAR s : ARRAY OF CHAR ): BOOLEAN;
  180. (* Returns TRUE if s <> '' *)
  181.  
  182. END QCdisp.